A logic-based concurrent object-oriented programming language

نویسنده

  • Rafael Ramirez Melendez
چکیده

Parallel computers and distributed systems are becoming increasingly important. Their impressive computation to cost ratios o er a considerable higher performance than that possible with sequential machines. Yet there are few commercial applications written for them. The reason is that programming in these environments is substantially more di cult than programming for sequential machines. In this thesis, we present Tempo and Tempo++, two programming languages which aim to reduce the inherent complexity of writing concurrent programs. Tempo is a declarative concurrent programming language based on classical rst order logic. It improves on traditional concurrent logic programming languages (e.g. Parlog) by explicitly specifying aspects of the behaviour of concurrent programs. In Tempo all safety properties of programs are declaratively stated which provides great advantages in writing concurrent programs and manipulating them while preserving correctness. Concurrent programs in Tempo are developed in such a way that they are not speci c to any particular programming paradigm. The language can be used as a common framework for expressing and manipulating algorithms for a variety of paradigms. Tempo++ is a concurrent programming language which extends Tempo by supporting object-oriented programming, and thus, combines most of the features designed in Tempo with the advantages of the object-oriented approach. That is, in Tempo++, concurrency issues are declaratively abstracted by the explicit speci cation of the safety properties of programs. As in Tempo, this provides great advantages in writing and manipulating programs. Tempo++ applications can be speci ed as collections of objects, which incorporates a guiding principle for writing programs and introduces the principles of encapsulation and (multiple) inheritance in a logic programming framework. In the language, concurrency issues are separated from the code, minimizing dependency between application functionality and concurrency control. It is, in general, possible to test di erent synchronisation schemes without modifying the code of the operations, and conversely, a synchronisation scheme may be reused by several applications. Thus, program reuse and program exibility are increased.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Concurrent Object Oriented Programming in a Logic Variable Language

This article introduces a concurrent object oriented language whose underlying operational semantics is based on the logic variable. The language is designed in reponse to Kahn’s criticisms [Kahn 89] of previous attempts to build concurrent object-oriented languages on top of concurrent logic languages. We believe Aldwych is a language which removes the verbosity of concurrent logic language co...

متن کامل

Object - Oriented Concurrent Constraint Programming

1.1 Abstract Oz is a higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and in...

متن کامل

Declarative Concurrent Object-oriented Programming in Tempo++

This paper presents Tempo++, a high-level programming language designed for concurrent object-oriented applications. It is based on a new programming model combining logic programming, constraint solving and object-oriented programming in a uniform framework. Tempo++ is an object-oriented extension to the declarative concurrent programming language Tempo Gregory and Ramirez 95]. It includes ext...

متن کامل

Object-Oriented Concurrent Constraint Programming in Oz

1.1 Abstract Oz is a higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and in...

متن کامل

A specification logic for concurrent object-oriented programming

The paper is focused on the use of linear logic for the speciication of the operational semantics of advanced concepts of programming, and, in particular, of concurrent object-oriented programming. For this purpose, we shall employ a reened sequent-calculus based on the proof-theoretical characterization of linear logic programming. A synergic combination of higher-order logic programming and l...

متن کامل

Temporal logic properties of Java objects 3

7 Applying finite-state verification techniques to software systems looks attractive because they are capable of detecting very subtle 8 defects in the logic design of these systems. Nevertheless, the integration of existing formal verification tools within programming 9 environments is not yet easy, mainly because of the semantic gap between widely used programming languages and the languages ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996